// 命名空间声明了，就是全局变量
namespace Components {

  // 可以在浏览器控制台中访问: Components.SubNamespace.Text, Components.SubNamespace.User
  export namespace SubNamespace {
    export class Text {};
  }

  export interface User {
    name: string;
  }

  export class Header {
    constructor() {
      const div = document.createElement('div');
      div.innerText = 'header';
      document.body.append(div);
    }
  }

  export class Main {
    constructor() {
      const div = document.createElement('div');
      div.innerText = 'main';
      document.body.append(div);
    }
  }

  export class footer {
    constructor() {
      const div = document.createElement('div');
      div.innerText = 'footer';
      document.body.append(div);
    }
  }
}